package com.vonzhou.springinaction.knights.config;

import com.vonzhou.springinaction.knights.Knight;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * @author XiaoDongLei
 * @Package com.vonzhou.springinaction.knights
 * @date 2018/3/24
 * @Description: 从Java配置中加载应用上下文。
 * Instrumentation:仪表
 * Spring Portfolio:Spring组合
 * NoSQL数据库：相对于NoSQL数据库，我更喜欢非关系型（non-relational）或无模式（schema-less）这样的术语。将这些数据库称之为NoSQL，实际上将问题归因于查询语言，而不是数据模型。
 */
public class KnightConfigTest {
	public static void main(String[] args) {
		// 创建应用组件之间协作的行为通常称为装配（wiring）
//		ApplicationContext context = new AnnotationConfigApplicationContext("com.vonzhou.springinaction.knights.config");
		ApplicationContext context = new AnnotationConfigApplicationContext(com.vonzhou.springinaction.knights.config.KnightConfig.class);

		Knight knight = (Knight) context.getBean("knight");
		//并获得Knight对象的引用。
		knight.embarkOnQuest();
	}
} 
